During the high-speed transmission of digital data through a computer system such as a data storage device or communication system, it is extremely important to monitor the digital data for errors and to be able to correct any errors that may occur. Typical schemes for checking for errors and, in some cases, correcting errors, include the use of parity bits and error correcting codes (ECC). Several methods incorporate both schemes in order to provide redundant error checking in the data transmission system.